/* tcpServerConfig.h */

/************************************************************************************
*                    Copyright Aquantia Corporation
*                              Freeware
*
* Description:
*
*   This file defines all of the configurable parameters used for the TCP Server
*
************************************************************************************/

/*! \file
    This file defines all of the configurable parameters used for the TCP Server
*/

#ifndef AQ_TCP_SERVER_CONFIG_TOKEN
#define AQ_TCP_SERVER_CONFIG_TOKEN

/*! \addtogroup LAN LAN Configuration
This module contains the broadcast LAN configuration.
@{*/

/*! The maximum number of clients that we will allow to connect */
#define MAX_NUMBER_OF_CLIENTS 30


/*! If defined, TCP keep-alives are implemented on the TCP socket in both directions */
#define TCP_KEEP_ALIVE

/*! The length of silence in seconds before a keep-alive ACK is sent.
    Is applied only if TCP_KEEP_ALIVE is defined. May be unapplicable in some target systems. */
#define TCP_KEEP_ALIVE_TIME 30

/*! The interval between keep-alive ACKs, after keep-alive checking is started.
    Is applied only if TCP_KEEP_ALIVE is defined. May be unapplicable in some target systems. */
#define TCP_KEEP_ALIVE_INTERVAL 10

/*! The number of keep-alive attempts to make before declaring the socket broken.
    Is applied only if TCP_KEEP_ALIVE is defined. May be unapplicable in some target systems. */
#define TCP_KEEP_ALIVE_COUNT 3

/*@}*/


/*! \addtogroup TCPServer TCP Server
This module contains the functions and data structures for the TCP server.  The message formats and commands are
listed below:
  
@{*/

/*! This compile flag enables platform-level control of the adapter */
/* #define BOARD_SUPPORT */

/*! This compile flag indicates that block operations are not supported by local interface
    and block functions should be stubbed. */
/* #define BLOCK_OPERATION_SUPPORT */

/*! This compile flag enables locking PHYs and adapters */
/* #define LOCKING_AND_TRACKING_SUPPORT */

/*@}*/

#endif
